/*
 * bootloader.h
 *
 *  Created on: Dec 25, 2023
 *      Author: jetpo
 */

#ifndef INC_BOOTLOADER_H_
#define INC_BOOTLOADER_H_

#include "stm32f1xx_hal.h"
#include "stm32f1xx_hal_uart.h"
#include "system_config.h"

#define BOOTLOADER_VER_MAJOR 0 /* bootloader主版本号 */
#define BOOTLOADER_VER_MINOR 1 /* bootloader次版本号 */

/**
 * @brief 检查状态并更新
 *        先检查xx脚是否为高电平输入, 共采样3次, 每次间隔
 *        如果采集到高电平不小于3拍, 则进入更新
 * @param check_interval    更新检测的采样间隔时间, 毫秒
 * @param timeout           等待更新开始发送时间, 秒
 */
void check_update(int check_interval, int timeout, UART_HandleTypeDef *puart_update);

#endif /* INC_BOOTLOADER_H_ */
